import Vue from 'vue';
import Router from 'vue-router';

import Transition from "../components/common/transition.vue";

Vue.use(Router);

export const permissionRoutes = [
    {
        path: '/',
        component: () => import(/* webpackChunkName: "home" */ '../components/common/Home.vue'),
        meta: { title: '自述文件',menu: true },
        children: [
            {
                path: '/dashboard',
                component: () => import(/* webpackChunkName: "dashboard" */ '../components/page/Dashboard.vue'),
                meta: { title: '系统首页',icon: "el-icon-lx-home" }
            },
            {
                path: '/icon',
                component: () => import(/* webpackChunkName: "icon" */ '../components/page/Icon.vue'),
                meta: { title: '自定义图标',icon: "el-icon-lx-emoji" }
            },
            {
                path: '/table',
                component: () => import(/* webpackChunkName: "table" */ '../components/page/BaseTable.vue'),
                meta: { title: '基础表格',icon: "el-icon-lx-cascades" }
            },
            {
                path: '/tabs',
                component: () => import(/* webpackChunkName: "tabs" */ '../components/page/Tabs.vue'),
                meta: { title: 'tab选项卡',icon: "el-icon-lx-copy" }
            },
            // 表单相关
            {
                path: '/',
                component: Transition,
                meta: { noShow: true,title:"表单相关",icon: "el-icon-lx-calendar" },
                children: [
                    {
                        path: '/form',
                        component: () => import(/* webpackChunkName: "form" */ '../components/page/BaseForm.vue'),
                        meta: { title: '基本表单' }
                    },
                    {
                        // 图片上传组件
                        path: '/upload',
                        component: () => import(/* webpackChunkName: "upload" */ '../components/page/Upload.vue'),
                        meta: { title: '文件上传' }
                    },
                    {
                        path: "/",
                        component: Transition,
                        meta: { noShow: true,title:"三级菜单" },
                        children: [
                            {
                                // 富文本编辑器组件
                                path: '/editor',
                                component: () => import(/* webpackChunkName: "editor" */ '../components/page/VueEditor.vue'),
                                meta: { title: '富文本编辑器' }
                            },
                            {
                                // markdown组件
                                path: '/markdown',
                                component: () => import(/* webpackChunkName: "markdown" */ '../components/page/Markdown.vue'),
                                meta: { title: 'markdown编辑器' }
                            },
                        ]
                    }
                ]
            },
            {
                // vue-schart组件
                path: '/charts',
                component: () => import(/* webpackChunkName: "chart" */ '../components/page/BaseCharts.vue'),
                meta: { title: 'schart图表',icon: "el-icon-pie-chart" }
            },
            // 拖拽组件
            {
                path: "/",
                component: Transition,
                meta: { noShow: true,title:"拖拽组件",icon: "el-icon-rank" },
                children: [
                    {
                        // 拖拽列表组件
                        path: '/drag',
                        component: () => import(/* webpackChunkName: "drag" */ '../components/page/DragList.vue'),
                        meta: { title: '拖拽列表' }
                    },
                    {
                        // 拖拽Dialog组件
                        path: '/dialog',
                        component: () => import(/* webpackChunkName: "dragdialog" */ '../components/page/DragDialog.vue'),
                        meta: { title: '拖拽弹框' }
                    },
                ]
            },
            {
                // 国际化组件
                path: '/i18n',
                component: () => import(/* webpackChunkName: "i18n" */ '../components/page/I18n.vue'),
                meta: { title: '国际化',icon: "el-icon-lx-global" }
            },
            {
                path: "/",
                component: Transition,
                meta: { noShow: true,title:"错误处理",icon: "el-icon-lx-warn" },
                children: [
                    {
                        // 权限页面
                        path: '/permission',
                        component: () => import(/* webpackChunkName: "permission" */ '../components/page/Permission.vue'),
                        meta: { title: '权限测试', permission: true }
                    },
                    {
                        path: '/404',
                        component: () => import(/* webpackChunkName: "404" */ '../components/page/404.vue'),
                        meta: { title: '404' }
                    },
                ]
            },
            {
                path: '/403',
                component: () => import(/* webpackChunkName: "403" */ '../components/page/403.vue'),
                meta: { title: '403' }
            },
            {
                path: '/donate',
                component: () => import(/* webpackChunkName: "donate" */ '../components/page/Donate.vue'),
                meta: { title: '支持作者' }
            }
        ]
    },
]

export default new Router({
    routes: [
        {
            path: '/',
            redirect: '/dashboard'
        },
        {
            path: '/login',
            component: () => import(/* webpackChunkName: "login" */ '../components/page/Login.vue'),
            meta: { title: '登录' }
        },
        // {
        //     path: '*',
        //     redirect: '/login'
        // }
    ]
});
